1.【決策邊界|UI 與版型】 登入頁的手機號碼欄用系統的電話鍵盤。假設有人提議改成 App 自己畫的數字鍵盤(畫面上固定一組 0–9 的按鈕,不叫出系統鍵盤)。在什麼條件下你會同意?請至少想兩個情境。改了之後會失去哪些系統鍵盤原本免費提供的能力?密碼欄要不要一起改?為什麼?
我的回答:我都不會同意。為何不使用 OS 的軟鍵盤而要自繪?目前實在是想不到軟鍵盤無法處理的場景。 而且軟鍵盤啟動,可以設定參數帶出純數字鍵盤。
上面的回答沒有回答到問題本身。
我想到郵局的網路 ATM 的密碼輸入畫面,是網頁上的自訂畫面。
所以為了密碼的安全性(鍵盤鍵位的排列亂序),是可以自繪數字鍵盤。
2.【預測再驗證|規格與驗收】 使用者登入成功,畫面正跳出「登入後提醒」的對話框、還沒按「我知道了」,這時 App 被切到背景,系統為了回收記憶體把整個 process 砍掉。使用者再回到 App 時,會看到什麼畫面?提醒還會出現嗎?教學頁呢?先寫下預測與理由,等 Day 11 的程式碼完成後,用開發者選項的「不保留活動」或 adb shell am kill 重現驗證。最後判斷:這個結果可以接受嗎?如果不行,你會把哪個狀態存在哪裡?
我的回答:我預測使用者再回到 App 時,會看到首頁。「登入後提醒」的對話框提醒因為 Activity onDestroy 了所以已銷毀。登入後的教學頁 Fragment 也因為 Activity onDestroy 而銷毀。
上面的回答,誤解了 Activity 銷毀後,Android App 是否會自動重建 UI 的機制。